<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.5"/>
<title>xilasu: Client APIs AND Error Codes</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
  $(window).load(resizeHeight);
</script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="HTML_custom.css" rel="stylesheet" type="text/css"/>
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectlogo"><img alt="Logo" src="xlogo_bg.png"/></td>
  <td style="padding-left: 0.5em;">
   <div id="projectname">xilasu
   </div>
   <div id="projectbrief">Vitis Drivers API Documentation</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.5 -->
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Overview</span></a></li>
      <li><a href="annotated.html"><span>Data&#160;Structures</span></a></li>
      <li><a href="globals.html"><span>APIs</span></a></li>
      <li><a href="files.html"><span>File&#160;List</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;"
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('group__xasu__client__info.html','');});
</script>
<div id="doc-content">
<div class="header">
  <div class="summary">
<a href="#nested-classes">Data Structures</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Client APIs AND Error Codes</div>  </div>
</div><!--header-->
<div class="contents">
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Data Structures</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">This structure contains client parameters information.  <a href="struct_x_asu___client_params.html#details">More...</a><br/></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:gae88925a99ed0ab5fac159ee08c4ca25e"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gae88925a99ed0ab5fac159ee08c4ca25e">XASU_QUEUE_BUFFER_FULL</a>&#160;&#160;&#160;0xFFU</td></tr>
<tr class="memdesc:gae88925a99ed0ab5fac159ee08c4ca25e"><td class="mdescLeft">&#160;</td><td class="mdescRight">To indicate queue full state.  <a href="#gae88925a99ed0ab5fac159ee08c4ca25e">More...</a><br/></td></tr>
<tr class="separator:gae88925a99ed0ab5fac159ee08c4ca25e"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0053f2ee702daa610453007e3583faf2"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga0053f2ee702daa610453007e3583faf2">XASU_CLIENT_READY</a>&#160;&#160;&#160;0xFFFFFFFFU</td></tr>
<tr class="memdesc:ga0053f2ee702daa610453007e3583faf2"><td class="mdescLeft">&#160;</td><td class="mdescRight">To indicate Client is ready.  <a href="#ga0053f2ee702daa610453007e3583faf2">More...</a><br/></td></tr>
<tr class="separator:ga0053f2ee702daa610453007e3583faf2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaae5635a4c9e53ecd6faf05a752d54aaf"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gaae5635a4c9e53ecd6faf05a752d54aaf">XASU_TARGET_IPI_INT_MASK</a>&#160;&#160;&#160;1U</td></tr>
<tr class="memdesc:gaae5635a4c9e53ecd6faf05a752d54aaf"><td class="mdescLeft">&#160;</td><td class="mdescRight">ASU IPI interrupt mask.  <a href="#gaae5635a4c9e53ecd6faf05a752d54aaf">More...</a><br/></td></tr>
<tr class="separator:gaae5635a4c9e53ecd6faf05a752d54aaf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4c6d3ff41b7e3381a716b46b780d57f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gae4c6d3ff41b7e3381a716b46b780d57f">ASU_GLOBAL_BASEADDR</a>&#160;&#160;&#160;(0xEBF80000U)</td></tr>
<tr class="memdesc:gae4c6d3ff41b7e3381a716b46b780d57f"><td class="mdescLeft">&#160;</td><td class="mdescRight">ASU GLOBAL register base address.  <a href="#gae4c6d3ff41b7e3381a716b46b780d57f">More...</a><br/></td></tr>
<tr class="separator:gae4c6d3ff41b7e3381a716b46b780d57f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1e520d39b049ebfb42f7ee2d3812a5bc"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga1e520d39b049ebfb42f7ee2d3812a5bc">ASU_GLOBAL_GLOBAL_CNTRL</a>&#160;&#160;&#160;(<a class="el" href="group__xasu__client__info.html#gae4c6d3ff41b7e3381a716b46b780d57f">ASU_GLOBAL_BASEADDR</a> + 0x00000000U)</td></tr>
<tr class="memdesc:ga1e520d39b049ebfb42f7ee2d3812a5bc"><td class="mdescLeft">&#160;</td><td class="mdescRight">ASU GLOBAL CNTRL register address.  <a href="#ga1e520d39b049ebfb42f7ee2d3812a5bc">More...</a><br/></td></tr>
<tr class="separator:ga1e520d39b049ebfb42f7ee2d3812a5bc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad35a1f3313391a14664b3afde8154dee"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gad35a1f3313391a14664b3afde8154dee">ASU_GLOBAL_GLOBAL_CNTRL_FW_IS_PRESENT_MASK</a>&#160;&#160;&#160;0x10U</td></tr>
<tr class="memdesc:gad35a1f3313391a14664b3afde8154dee"><td class="mdescLeft">&#160;</td><td class="mdescRight">ASU FW Present mask value.  <a href="#gad35a1f3313391a14664b3afde8154dee">More...</a><br/></td></tr>
<tr class="separator:gad35a1f3313391a14664b3afde8154dee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga07dd2522c0bb1a9f8bfa4ff8c7fe76df"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga07dd2522c0bb1a9f8bfa4ff8c7fe76df">XASU_ASUFW_BIT_CHECK_TIMEOUT_VALUE</a>&#160;&#160;&#160;0xFFFFFU</td></tr>
<tr class="memdesc:ga07dd2522c0bb1a9f8bfa4ff8c7fe76df"><td class="mdescLeft">&#160;</td><td class="mdescRight">ASUFW check timoeout value.  <a href="#ga07dd2522c0bb1a9f8bfa4ff8c7fe76df">More...</a><br/></td></tr>
<tr class="separator:ga07dd2522c0bb1a9f8bfa4ff8c7fe76df"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad71a4202b498e9e086941c197adf96c1"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gad71a4202b498e9e086941c197adf96c1">XASU_NO_OF_CONTEXTS</a>&#160;&#160;&#160;(10U)</td></tr>
<tr class="memdesc:gad71a4202b498e9e086941c197adf96c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">No of contexts can be saved by client.  <a href="#gad71a4202b498e9e086941c197adf96c1">More...</a><br/></td></tr>
<tr class="separator:gad71a4202b498e9e086941c197adf96c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gabcdbe902efbd005b2c4a5d49389e59da"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gabcdbe902efbd005b2c4a5d49389e59da">XASU_PRIORITY_LOW</a>&#160;&#160;&#160;1U</td></tr>
<tr class="memdesc:gabcdbe902efbd005b2c4a5d49389e59da"><td class="mdescLeft">&#160;</td><td class="mdescRight">LOW priority.  <a href="#gabcdbe902efbd005b2c4a5d49389e59da">More...</a><br/></td></tr>
<tr class="separator:gabcdbe902efbd005b2c4a5d49389e59da"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf4bee00214accc868d4697e6745d83ca"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gaf4bee00214accc868d4697e6745d83ca">XASU_PRIORITY_HIGH</a>&#160;&#160;&#160;0U</td></tr>
<tr class="memdesc:gaf4bee00214accc868d4697e6745d83ca"><td class="mdescLeft">&#160;</td><td class="mdescRight">High priority.  <a href="#gaf4bee00214accc868d4697e6745d83ca">More...</a><br/></td></tr>
<tr class="separator:gaf4bee00214accc868d4697e6745d83ca"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:gab35273f00eccc22237ed1fa5cffda558"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gab35273f00eccc22237ed1fa5cffda558">XAsuClient_ResponseHandler</a> )(void *CallBackRefPtr, u32 Status)</td></tr>
<tr class="memdesc:gab35273f00eccc22237ed1fa5cffda558"><td class="mdescLeft">&#160;</td><td class="mdescRight">Response handler.  <a href="#gab35273f00eccc22237ed1fa5cffda558">More...</a><br/></td></tr>
<tr class="separator:gab35273f00eccc22237ed1fa5cffda558"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br/>
&#160;&#160;<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba21f6a079219ddf14b57959e9a40be8b9">XASU_INVALID_ARGUMENT</a> = 0x10,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55bacaea704768d9c8d55b805df90562e163">XASU_QUEUE_FULL</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba14a3c46663928dd982add07a88cac34c">XASU_ASUFW_NOT_PRESENT</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba79d3275b5fa663a028a67a27cf88ee43">XASU_IPI_CONFIG_NOT_FOUND</a>,
<br/>
&#160;&#160;<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55bacf18aeeb8b7146572b4eadc9780ad4cb">XASU_INVALID_UNIQUE_ID</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55bae4f80be759414e5ad3ddaa0fbdf38e9b">XASU_CLIENT_NOT_INITIALIZED</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba7509138a31d57c8690f0024844d3b332">XASU_INVALID_PRIORITY</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba2fb601ec956ba2da480183a3fd5860a7">XASU_INVALID_CALL_BACK_REF</a>,
<br/>
&#160;&#160;<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba75f1ff4f934092149c9cba455d697e6e">XASU_INVALID_CLIENT_PARAM</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba5a6da12f20e6e0ba9d599220a65e3391">XASU_INVALID_CLIENT_CTX</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55baba48c86a73142cb74e29cb65cbde6a30">XASU_FAIL_SAVE_CTX</a>,
<a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba2e92f55c533ae361894e1cebba98f7ed">XASU_INVALID_CURVEINFO</a>
<br/>
 }</td></tr>
<tr class="memdesc:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">This contains the client error codes.  <a href="group__xasu__client__info.html#ga06fc87d81c62e9abb8790b6e5713c55b">More...</a><br/></td></tr>
<tr class="separator:ga06fc87d81c62e9abb8790b6e5713c55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <a class="el" href="group__xasu__client__info.html#ggadf764cbdea00d65edcd07bb9953ad2b7ac75fa777c5b7051b9ee754b1a091e486">XASU_AES_TAG_MATCHED</a> = 0x3FD,
<a class="el" href="group__xasu__client__info.html#ggadf764cbdea00d65edcd07bb9953ad2b7a182d3a73baac3219d888cde296efa9e4">XASU_AES_TAG_READ</a>
 }</td></tr>
<tr class="memdesc:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">This contains the non-zero success values returned from server for critical security functionalities and these codes should not be used for failures in client.  <a href="group__xasu__client__info.html#gadf764cbdea00d65edcd07bb9953ad2b7">More...</a><br/></td></tr>
<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga3dc785000c560adedbb23beb0404beee"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga3dc785000c560adedbb23beb0404beee">XAsu_ClientInit</a> (XMailbox *MailboxInstancePtr)</td></tr>
<tr class="memdesc:ga3dc785000c560adedbb23beb0404beee"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function initializes the client instance.  <a href="#ga3dc785000c560adedbb23beb0404beee">More...</a><br/></td></tr>
<tr class="separator:ga3dc785000c560adedbb23beb0404beee"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae0f7072bf1eddf7ee11f1e5852570682"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gae0f7072bf1eddf7ee11f1e5852570682">XAsu_ValidateClientParameters</a> (<a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *ClientParamPtr)</td></tr>
<tr class="memdesc:gae0f7072bf1eddf7ee11f1e5852570682"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function validates the input client parameters.  <a href="#gae0f7072bf1eddf7ee11f1e5852570682">More...</a><br/></td></tr>
<tr class="separator:gae0f7072bf1eddf7ee11f1e5852570682"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga202195f871d91b50787438e2782be07f"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga202195f871d91b50787438e2782be07f">XAsu_UpdateQueueBufferNSendIpi</a> (<a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *ClientParam, void *ReqBuffer, u32 Size, u32 Header)</td></tr>
<tr class="memdesc:ga202195f871d91b50787438e2782be07f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function updates the queue buffer status to notify the request is present and generates a door bell to ASU.  <a href="#ga202195f871d91b50787438e2782be07f">More...</a><br/></td></tr>
<tr class="separator:ga202195f871d91b50787438e2782be07f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6653ca717c2d2ed8399945c294af2f9f"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga6653ca717c2d2ed8399945c294af2f9f">XAsu_RegCallBackNGetUniqueId</a> (const <a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *ClientParamPtr, u8 *RespBufferPtr, u32 Size, u8 IsFinalCall)</td></tr>
<tr class="memdesc:ga6653ca717c2d2ed8399945c294af2f9f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function registers callback parameters across the generated unique ID per request.  <a href="#ga6653ca717c2d2ed8399945c294af2f9f">More...</a><br/></td></tr>
<tr class="separator:ga6653ca717c2d2ed8399945c294af2f9f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga936fc8dfbd6e1c63ea38d52c0a89f55b"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga936fc8dfbd6e1c63ea38d52c0a89f55b">XAsu_UpdateCallBackDetails</a> (u8 UniqueId, u8 *RespBufferPtr, u32 Size, u8 IsFinalCall)</td></tr>
<tr class="memdesc:ga936fc8dfbd6e1c63ea38d52c0a89f55b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Updates callback details based on the provided unique ID, response buffer, size, and final call flag.  <a href="#ga936fc8dfbd6e1c63ea38d52c0a89f55b">More...</a><br/></td></tr>
<tr class="separator:ga936fc8dfbd6e1c63ea38d52c0a89f55b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga97e484d9d293c91c125205c768cdc7d5"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga97e484d9d293c91c125205c768cdc7d5">XAsu_FreeCtx</a> (void *Context)</td></tr>
<tr class="memdesc:ga97e484d9d293c91c125205c768cdc7d5"><td class="mdescLeft">&#160;</td><td class="mdescRight">Frees the memory associated with the provided context.  <a href="#ga97e484d9d293c91c125205c768cdc7d5">More...</a><br/></td></tr>
<tr class="separator:ga97e484d9d293c91c125205c768cdc7d5"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab89446614128abd944047e7c55b1cda2"><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gab89446614128abd944047e7c55b1cda2">XAsu_UpdateNGetCtx</a> (u8 UniqueId)</td></tr>
<tr class="memdesc:gab89446614128abd944047e7c55b1cda2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Saves the provided unique ID and returns the address of the saved context.  <a href="#gab89446614128abd944047e7c55b1cda2">More...</a><br/></td></tr>
<tr class="separator:gab89446614128abd944047e7c55b1cda2"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga61795a5278b8baf8896d7a81e03c9f6a"><td class="memItemLeft" align="right" valign="top">s32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#ga61795a5278b8baf8896d7a81e03c9f6a">XAsu_VerifyNGetUniqueIdCtx</a> (const void *Context, u8 *UniqueId)</td></tr>
<tr class="memdesc:ga61795a5278b8baf8896d7a81e03c9f6a"><td class="mdescLeft">&#160;</td><td class="mdescRight">Validates the provided context by comparing it with stored contexts to determine the appropriate multi-update calls.  <a href="#ga61795a5278b8baf8896d7a81e03c9f6a">More...</a><br/></td></tr>
<tr class="separator:ga61795a5278b8baf8896d7a81e03c9f6a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gafbbccbbdf6d59c572b5882af30e9f683"><td class="memItemLeft" align="right" valign="top">u8&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gafbbccbbdf6d59c572b5882af30e9f683">XAsu_GetUniqueId</a> (u32 Header)</td></tr>
<tr class="memdesc:gafbbccbbdf6d59c572b5882af30e9f683"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function gets the unique ID from the provided header.  <a href="#gafbbccbbdf6d59c572b5882af30e9f683">More...</a><br/></td></tr>
<tr class="separator:gafbbccbbdf6d59c572b5882af30e9f683"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad0de9c14ad7810516d9f71d5b18c44c1"><td class="memItemLeft" align="right" valign="top">u32&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__xasu__client__info.html#gad0de9c14ad7810516d9f71d5b18c44c1">XAsu_CreateHeader</a> (u8 CmdId, u8 UniqueId, u8 ModuleId, u8 CommandLen)</td></tr>
<tr class="memdesc:gad0de9c14ad7810516d9f71d5b18c44c1"><td class="mdescLeft">&#160;</td><td class="mdescRight">This function formats the command header with module ID, command ID and command length.  <a href="#gad0de9c14ad7810516d9f71d5b18c44c1">More...</a><br/></td></tr>
<tr class="separator:gad0de9c14ad7810516d9f71d5b18c44c1"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a class="anchor" id="gae4c6d3ff41b7e3381a716b46b780d57f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASU_GLOBAL_BASEADDR&#160;&#160;&#160;(0xEBF80000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ASU GLOBAL register base address. </p>

</div>
</div>
<a class="anchor" id="ga1e520d39b049ebfb42f7ee2d3812a5bc"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASU_GLOBAL_GLOBAL_CNTRL&#160;&#160;&#160;(<a class="el" href="group__xasu__client__info.html#gae4c6d3ff41b7e3381a716b46b780d57f">ASU_GLOBAL_BASEADDR</a> + 0x00000000U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ASU GLOBAL CNTRL register address. </p>

</div>
</div>
<a class="anchor" id="gad35a1f3313391a14664b3afde8154dee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define ASU_GLOBAL_GLOBAL_CNTRL_FW_IS_PRESENT_MASK&#160;&#160;&#160;0x10U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ASU FW Present mask value. </p>

</div>
</div>
<a class="anchor" id="ga07dd2522c0bb1a9f8bfa4ff8c7fe76df"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_ASUFW_BIT_CHECK_TIMEOUT_VALUE&#160;&#160;&#160;0xFFFFFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ASUFW check timoeout value. </p>

</div>
</div>
<a class="anchor" id="ga0053f2ee702daa610453007e3583faf2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_CLIENT_READY&#160;&#160;&#160;0xFFFFFFFFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To indicate Client is ready. </p>

<p>Referenced by <a class="el" href="group__xasu__client__info.html#ga202195f871d91b50787438e2782be07f">XAsu_UpdateQueueBufferNSendIpi()</a>.</p>

</div>
</div>
<a class="anchor" id="gad71a4202b498e9e086941c197adf96c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_NO_OF_CONTEXTS&#160;&#160;&#160;(10U)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>No of contexts can be saved by client. </p>

</div>
</div>
<a class="anchor" id="gaf4bee00214accc868d4697e6745d83ca"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_PRIORITY_HIGH&#160;&#160;&#160;0U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>High priority. </p>

<p>Referenced by <a class="el" href="group__xasufw__ecdh__client__example.html#ga840291bc02cba5474a4cb46a9b9566fe">main()</a>, and <a class="el" href="group__xasu__client__info.html#ga202195f871d91b50787438e2782be07f">XAsu_UpdateQueueBufferNSendIpi()</a>.</p>

</div>
</div>
<a class="anchor" id="gabcdbe902efbd005b2c4a5d49389e59da"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_PRIORITY_LOW&#160;&#160;&#160;1U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>LOW priority. </p>

</div>
</div>
<a class="anchor" id="gae88925a99ed0ab5fac159ee08c4ca25e"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_QUEUE_BUFFER_FULL&#160;&#160;&#160;0xFFU</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>To indicate queue full state. </p>

</div>
</div>
<a class="anchor" id="gaae5635a4c9e53ecd6faf05a752d54aaf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define XASU_TARGET_IPI_INT_MASK&#160;&#160;&#160;1U</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>ASU IPI interrupt mask. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a class="anchor" id="gab35273f00eccc22237ed1fa5cffda558"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* XAsuClient_ResponseHandler)(void *CallBackRefPtr, u32 Status)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Response handler. </p>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a class="anchor" id="ga06fc87d81c62e9abb8790b6e5713c55b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This contains the client error codes. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba21f6a079219ddf14b57959e9a40be8b9"></a>XASU_INVALID_ARGUMENT</em>&nbsp;</td><td class="fielddoc">
<p>0x10 - Invalid argument </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bacaea704768d9c8d55b805df90562e163"></a>XASU_QUEUE_FULL</em>&nbsp;</td><td class="fielddoc">
<p>0x11 - Channel queue is full </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba14a3c46663928dd982add07a88cac34c"></a>XASU_ASUFW_NOT_PRESENT</em>&nbsp;</td><td class="fielddoc">
<p>0x12 - ASU application FW is not present </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba79d3275b5fa663a028a67a27cf88ee43"></a>XASU_IPI_CONFIG_NOT_FOUND</em>&nbsp;</td><td class="fielddoc">
<p>0x13 - IPI configuration is not found </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bacf18aeeb8b7146572b4eadc9780ad4cb"></a>XASU_INVALID_UNIQUE_ID</em>&nbsp;</td><td class="fielddoc">
<p>0x14 - Invalid unique ID </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55bae4f80be759414e5ad3ddaa0fbdf38e9b"></a>XASU_CLIENT_NOT_INITIALIZED</em>&nbsp;</td><td class="fielddoc">
<p>0x15 - Client is not initialized </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba7509138a31d57c8690f0024844d3b332"></a>XASU_INVALID_PRIORITY</em>&nbsp;</td><td class="fielddoc">
<p>0x16 - Invalid Priority </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba2fb601ec956ba2da480183a3fd5860a7"></a>XASU_INVALID_CALL_BACK_REF</em>&nbsp;</td><td class="fielddoc">
<p>0x17 - Invalid callback reference </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba75f1ff4f934092149c9cba455d697e6e"></a>XASU_INVALID_CLIENT_PARAM</em>&nbsp;</td><td class="fielddoc">
<p>0x18 - Invalid client parameter pointer </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba5a6da12f20e6e0ba9d599220a65e3391"></a>XASU_INVALID_CLIENT_CTX</em>&nbsp;</td><td class="fielddoc">
<p>0x19 - Client context is not valid </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55baba48c86a73142cb74e29cb65cbde6a30"></a>XASU_FAIL_SAVE_CTX</em>&nbsp;</td><td class="fielddoc">
<p>0x1A - Failed in saving the context </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="gga06fc87d81c62e9abb8790b6e5713c55ba2e92f55c533ae361894e1cebba98f7ed"></a>XASU_INVALID_CURVEINFO</em>&nbsp;</td><td class="fielddoc">
<p>0x1B - Invalid curve type or curve length </p>
</td></tr>
</table>

</div>
</div>
<a class="anchor" id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This contains the non-zero success values returned from server for critical security functionalities and these codes should not be used for failures in client. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7ac75fa777c5b7051b9ee754b1a091e486"></a>XASU_AES_TAG_MATCHED</em>&nbsp;</td><td class="fielddoc">
<p>0x3FDU - Successfully verified AES tag </p>
</td></tr>
<tr><td class="fieldname"><em><a class="anchor" id="ggadf764cbdea00d65edcd07bb9953ad2b7a182d3a73baac3219d888cde296efa9e4"></a>XASU_AES_TAG_READ</em>&nbsp;</td><td class="fielddoc">
<p>0x3FEU - Successfully read AES tag </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a class="anchor" id="ga3dc785000c560adedbb23beb0404beee"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XAsu_ClientInit </td>
          <td>(</td>
          <td class="paramtype">XMailbox *&#160;</td>
          <td class="paramname"><em>MailboxInstancePtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function initializes the client instance. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">MailboxInstancePtr</td><td>Pointer to the Mailbox instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS, On successful initialization.</li>
<li>XST_FAILURE, On failure. , </li>
</ul>
</dd></dl>
<p>Validate client instance pointer.</p>
<p>Check for ASUFW present bit.</p>
<p>Initialize performance measurement.</p>
<p>Map the IPI shared memory of the channel. </p>

<p>Referenced by <a class="el" href="group___overview.html#ga840291bc02cba5474a4cb46a9b9566fe">main()</a>.</p>

</div>
</div>
<a class="anchor" id="gad0de9c14ad7810516d9f71d5b18c44c1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u32 XAsu_CreateHeader </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>CmdId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>UniqueId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>ModuleId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>CommandLen</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function formats the command header with module ID, command ID and command length. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">CmdId</td><td>Command ID to be updated. </td></tr>
    <tr><td class="paramname">UniqueId</td><td>Unique ID of the request. </td></tr>
    <tr><td class="paramname">ModuleId</td><td>Module ID to be updated. </td></tr>
    <tr><td class="paramname">CommandLen</td><td>Length of the command.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Header Command Header. </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xasu__common__defs.html#gaf17ac7d08dde7a01ddb54120c0c08c98">XASU_COMMAND_ID_MASK</a>, <a class="el" href="group__xasu__common__defs.html#gabf2469b7f4d27b2773877a157e71ecc8">XASU_COMMAND_LENGTH_SHIFT</a>, <a class="el" href="group__xasu__common__defs.html#ga22c4ed5bfe4baaf7b6441848e9057446">XASU_MODULE_ID_SHIFT</a>, and <a class="el" href="group__xasu__common__defs.html#ga03b103f4017ab2ab06aa5ba57628b570">XASU_UNIQUE_REQ_ID_SHIFT</a>.</p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#gaffce56f51b41ed88e0b427545109e858">XAsu_AesKat()</a>, <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga48e7b1ccb5585cef9da33497b4ddecd4">XAsu_EccGenPubKey()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#gaaabcb4485412f47df39713bd5df6a544">XAsu_EccGenSign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga2ec91a268acc9fe5751df06df1bcfc48">XAsu_EccKat()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga4b8e73d2c2143da5c419680e6a1d6c59">XAsu_EccVerifySign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga479b14161470bf8787e6f265bb4d23d8">XAsu_EcdhGenSharedSecret()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga856dd75948e7f1643841339257eade80">XAsu_EcdhKat()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga689f879d22a42d9da5fe3148cd307883">XAsu_EciesDecrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#gafa9ae6edbd3dba6873779ab7bdc055b4">XAsu_EciesEncrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga632493276648e0bc48790642d1c29225">XAsu_EciesKat()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga3338c25e5bbadd96a6665ee2ccc8818b">XAsu_HmacKat()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga7a4b83725ed01255a8d9e31595a610b2">XAsu_KdfGenerate()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga3361507e3fd3db0fd6bdf820c3cafb3a">XAsu_KdfKat()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#ga5182a3df4600b1e0c78db02eab118fe7">XAsu_KeyUnwrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gad64883d138efba842bfc4961b3c8ee0f">XAsu_KeyWrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gaec0ce35e1cab18b618bb1a6a11ebd2da">XAsu_KeyWrapKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa738d6a05293f677e9fdd1fd137cc912">XAsu_RsaCrtDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga8d99c3659893b5b77683b6bc3ee3abf8">XAsu_RsaDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa85dcefff8e7e30465bf6a5e5d20e7fd">XAsu_RsaEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga12f65d36404feb30ce5b7f801e51eb81">XAsu_RsaKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaf459c9f8ebb4d33247bbd8b6ab591809">XAsu_RsaOaepDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga32fd59ce2f1c0da67ca9217a224a4626">XAsu_RsaOaepEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaceff65cb28ac22b56121a047dbb53aa9">XAsu_RsaPssSignGen()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga3a33eba68b96c49e0dcb8ca6abfd7b89">XAsu_RsaPssSignVer()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#gac04a5bd2b44b2126b5bd0ba0eb5d647b">XAsu_Sha2Kat()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga6bee0e4d744e4febdfbb84efd76ae207">XAsu_Sha3Kat()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>, <a class="el" href="group__xasu__trng__client__apis.html#ga0aa05cb95fe5b1697a7d8fd8d2daccae">XAsu_TrngGetRandomNum()</a>, and <a class="el" href="group__xasu__trng__client__apis.html#ga6c70aad0ac1c1d37e0d5cc8f7b1581fd">XAsu_TrngKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga97e484d9d293c91c125205c768cdc7d5"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAsu_FreeCtx </td>
          <td>(</td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>Context</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Frees the memory associated with the provided context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Context</td><td>Pointer to the XAsu_ClientCtx to be freed. </td></tr>
  </table>
  </dd>
</dl>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, and <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>.</p>

</div>
</div>
<a class="anchor" id="gafbbccbbdf6d59c572b5882af30e9f683"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XAsu_GetUniqueId </td>
          <td>(</td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Header</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function gets the unique ID from the provided header. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Header</td><td>Header of the response/request buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Unique ID Returns the unique ID </li>
</ul>
</dd></dl>

<p>References <a class="el" href="group__xasu__common__defs.html#gad814338ff887d2a38c89d03dfdbba8b8">XASU_UNIQUE_REQ_ID_MASK</a>, and <a class="el" href="group__xasu__common__defs.html#ga03b103f4017ab2ab06aa5ba57628b570">XASU_UNIQUE_REQ_ID_SHIFT</a>.</p>

</div>
</div>
<a class="anchor" id="ga6653ca717c2d2ed8399945c294af2f9f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">u8 XAsu_RegCallBackNGetUniqueId </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *&#160;</td>
          <td class="paramname"><em>ClientParamPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>RespBufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>IsFinalCall</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function registers callback parameters across the generated unique ID per request. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ClientParamPtr</td><td>Pointer to the <a class="el" href="struct_x_asu___client_params.html" title="This structure contains client parameters information. ">XAsu_ClientParams</a> structure which holds the client input arguments. </td></tr>
    <tr><td class="paramname">RespBufferPtr</td><td>Buffer to hold the response from response buffer, if no data is part of response buffer for the request the value shall be NULL. </td></tr>
    <tr><td class="paramname">Size</td><td>Size of the data to be filled in response buffer.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>Unique ID used for registration (valid values are 0 to (XASU_UNIQUE_ID_MAX - 1)).</li>
<li>XASU_UNIQUE_ID_MAX, if unique ID is unavailable. </li>
</ul>
</dd></dl>
<p>Generate unique ID for the request.</p>
<p>Store the callback details. </p>

<p>References <a class="el" href="group__xasu__common__defs.html#ga0e29ca164aa8fa3ac30a7b9102b615d9">XASU_UNIQUE_ID_MAX</a>.</p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#gaffce56f51b41ed88e0b427545109e858">XAsu_AesKat()</a>, <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga48e7b1ccb5585cef9da33497b4ddecd4">XAsu_EccGenPubKey()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#gaaabcb4485412f47df39713bd5df6a544">XAsu_EccGenSign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga2ec91a268acc9fe5751df06df1bcfc48">XAsu_EccKat()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga4b8e73d2c2143da5c419680e6a1d6c59">XAsu_EccVerifySign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga479b14161470bf8787e6f265bb4d23d8">XAsu_EcdhGenSharedSecret()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga856dd75948e7f1643841339257eade80">XAsu_EcdhKat()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga689f879d22a42d9da5fe3148cd307883">XAsu_EciesDecrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#gafa9ae6edbd3dba6873779ab7bdc055b4">XAsu_EciesEncrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga632493276648e0bc48790642d1c29225">XAsu_EciesKat()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga3338c25e5bbadd96a6665ee2ccc8818b">XAsu_HmacKat()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga7a4b83725ed01255a8d9e31595a610b2">XAsu_KdfGenerate()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga3361507e3fd3db0fd6bdf820c3cafb3a">XAsu_KdfKat()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#ga5182a3df4600b1e0c78db02eab118fe7">XAsu_KeyUnwrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gad64883d138efba842bfc4961b3c8ee0f">XAsu_KeyWrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gaec0ce35e1cab18b618bb1a6a11ebd2da">XAsu_KeyWrapKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa738d6a05293f677e9fdd1fd137cc912">XAsu_RsaCrtDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga8d99c3659893b5b77683b6bc3ee3abf8">XAsu_RsaDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa85dcefff8e7e30465bf6a5e5d20e7fd">XAsu_RsaEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga12f65d36404feb30ce5b7f801e51eb81">XAsu_RsaKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaf459c9f8ebb4d33247bbd8b6ab591809">XAsu_RsaOaepDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga32fd59ce2f1c0da67ca9217a224a4626">XAsu_RsaOaepEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaceff65cb28ac22b56121a047dbb53aa9">XAsu_RsaPssSignGen()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga3a33eba68b96c49e0dcb8ca6abfd7b89">XAsu_RsaPssSignVer()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#gac04a5bd2b44b2126b5bd0ba0eb5d647b">XAsu_Sha2Kat()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga6bee0e4d744e4febdfbb84efd76ae207">XAsu_Sha3Kat()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>, <a class="el" href="group__xasu__trng__client__apis.html#ga0aa05cb95fe5b1697a7d8fd8d2daccae">XAsu_TrngGetRandomNum()</a>, and <a class="el" href="group__xasu__trng__client__apis.html#ga6c70aad0ac1c1d37e0d5cc8f7b1581fd">XAsu_TrngKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga936fc8dfbd6e1c63ea38d52c0a89f55b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void XAsu_UpdateCallBackDetails </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>UniqueId</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>RespBufferPtr</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>IsFinalCall</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Updates callback details based on the provided unique ID, response buffer, size, and final call flag. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">UniqueId</td><td>Unique identifier for the callback update. </td></tr>
    <tr><td class="paramname">RespBufferPtr</td><td>Pointer to the response buffer containing the data. </td></tr>
    <tr><td class="paramname">Size</td><td>Size of the response buffer. </td></tr>
    <tr><td class="paramname">IsFinalCall</td><td>Flag indicating whether this is the final callback (1 if final, 0 otherwise). </td></tr>
  </table>
  </dd>
</dl>
<p>Update the callback details. </p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, and <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>.</p>

</div>
</div>
<a class="anchor" id="gab89446614128abd944047e7c55b1cda2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void * XAsu_UpdateNGetCtx </td>
          <td>(</td>
          <td class="paramtype">u8&#160;</td>
          <td class="paramname"><em>UniqueId</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Saves the provided unique ID and returns the address of the saved context. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">UniqueId</td><td>Unique ID associated with the request</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>Pointer of the XAsu_ClientCtx, which references the saved context. </dd></dl>
<p>Find the free index to store the context.</p>
<p>Save the context. </p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, and <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>.</p>

</div>
</div>
<a class="anchor" id="ga202195f871d91b50787438e2782be07f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XAsu_UpdateQueueBufferNSendIpi </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *&#160;</td>
          <td class="paramname"><em>ClientParam</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>ReqBuffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Size</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u32&#160;</td>
          <td class="paramname"><em>Header</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function updates the queue buffer status to notify the request is present and generates a door bell to ASU. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ClientParam</td><td>Pointer to the <a class="el" href="struct_x_asu___client_params.html" title="This structure contains client parameters information. ">XAsu_ClientParams</a> instance. </td></tr>
    <tr><td class="paramname">ReqBuffer</td><td>Pointer to the <a class="el" href="struct_x_asu___channel_queue_buf.html" title="This structure is the channel&#39;s queue buffer. ">XAsu_ChannelQueueBuf</a>'s Request buffer data to be filled. </td></tr>
    <tr><td class="paramname">Size</td><td>Size of the request buffer in bytes. </td></tr>
    <tr><td class="paramname">Header</td><td>Header of the request buffer to be filled.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS, if IPI is sent successfully.</li>
<li>XST_FAILURE, if there is any failure.</li>
<li>XASU_INVALID_ARGUMENT, if the input parameters are invalid. </li>
</ul>
</dd></dl>
<p>Validate input parameters.</p>
<p>Get free queue buffer index of selected priority</p>
<p>Copy the request buffer to the free index.</p>
<p>Set IsCmdPresent to XASU_TRUE to indicate the command is present in the queue.</p>
<p>Place an IPI request to ASU. </p>

<p>References <a class="el" href="struct_x_asu___req_buf.html#a2807b52be02d30158ec18f3dcfb06aef">XAsu_ReqBuf::Arg</a>, <a class="el" href="struct_x_asu___req_buf.html#ae6e3ffde005f27cd4b9dc3a5a671551e">XAsu_ReqBuf::Header</a>, <a class="el" href="struct_x_asu___channel_queue.html#a5d85c84bfbb9c25a8f4f20e9595ef035">XAsu_ChannelQueue::IsCmdPresent</a>, <a class="el" href="struct_x_asu___client_params.html#a532696e23399997adf727d9c74d503e9">XAsu_ClientParams::Priority</a>, <a class="el" href="struct_x_asu___channel_queue_buf.html#a14ebaf7a6475f54aa8d60139575acb3a">XAsu_ChannelQueueBuf::ReqBuf</a>, <a class="el" href="struct_x_asu___channel_queue_buf.html#a8bed35bbe579d0406901a18c8a02176a">XAsu_ChannelQueueBuf::ReqBufStatus</a>, <a class="el" href="struct_x_asu___channel_queue.html#af646a7c4a7d609a10bbe55bee2616025">XAsu_ChannelQueue::ReqSent</a>, <a class="el" href="struct_x_asu___channel_queue_buf.html#aacab7148b91d90b10dc04045489031b0">XAsu_ChannelQueueBuf::RespBufStatus</a>, <a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55bae4f80be759414e5ad3ddaa0fbdf38e9b">XASU_CLIENT_NOT_INITIALIZED</a>, <a class="el" href="group__xasu__client__info.html#ga0053f2ee702daa610453007e3583faf2">XASU_CLIENT_READY</a>, <a class="el" href="group__xasu__common__defs.html#gae5377804925882e44f623938a3a5d936">XASU_COMMAND_IS_PRESENT</a>, <a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba21f6a079219ddf14b57959e9a40be8b9">XASU_INVALID_ARGUMENT</a>, <a class="el" href="group__xasu__common__defs.html#ga42b3aa06026ff016a8f26ee691725604">XASU_MAX_BUFFERS</a>, <a class="el" href="group__xasu__client__info.html#gaf4bee00214accc868d4697e6745d83ca">XASU_PRIORITY_HIGH</a>, and <a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55bacaea704768d9c8d55b805df90562e163">XASU_QUEUE_FULL</a>.</p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#gaffce56f51b41ed88e0b427545109e858">XAsu_AesKat()</a>, <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga48e7b1ccb5585cef9da33497b4ddecd4">XAsu_EccGenPubKey()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#gaaabcb4485412f47df39713bd5df6a544">XAsu_EccGenSign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga2ec91a268acc9fe5751df06df1bcfc48">XAsu_EccKat()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga4b8e73d2c2143da5c419680e6a1d6c59">XAsu_EccVerifySign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga479b14161470bf8787e6f265bb4d23d8">XAsu_EcdhGenSharedSecret()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga856dd75948e7f1643841339257eade80">XAsu_EcdhKat()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga689f879d22a42d9da5fe3148cd307883">XAsu_EciesDecrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#gafa9ae6edbd3dba6873779ab7bdc055b4">XAsu_EciesEncrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga632493276648e0bc48790642d1c29225">XAsu_EciesKat()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga3338c25e5bbadd96a6665ee2ccc8818b">XAsu_HmacKat()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga7a4b83725ed01255a8d9e31595a610b2">XAsu_KdfGenerate()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga3361507e3fd3db0fd6bdf820c3cafb3a">XAsu_KdfKat()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#ga5182a3df4600b1e0c78db02eab118fe7">XAsu_KeyUnwrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gad64883d138efba842bfc4961b3c8ee0f">XAsu_KeyWrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gaec0ce35e1cab18b618bb1a6a11ebd2da">XAsu_KeyWrapKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa738d6a05293f677e9fdd1fd137cc912">XAsu_RsaCrtDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga8d99c3659893b5b77683b6bc3ee3abf8">XAsu_RsaDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa85dcefff8e7e30465bf6a5e5d20e7fd">XAsu_RsaEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga12f65d36404feb30ce5b7f801e51eb81">XAsu_RsaKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaf459c9f8ebb4d33247bbd8b6ab591809">XAsu_RsaOaepDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga32fd59ce2f1c0da67ca9217a224a4626">XAsu_RsaOaepEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaceff65cb28ac22b56121a047dbb53aa9">XAsu_RsaPssSignGen()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga3a33eba68b96c49e0dcb8ca6abfd7b89">XAsu_RsaPssSignVer()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#gac04a5bd2b44b2126b5bd0ba0eb5d647b">XAsu_Sha2Kat()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga6bee0e4d744e4febdfbb84efd76ae207">XAsu_Sha3Kat()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>, <a class="el" href="group__xasu__trng__client__apis.html#ga0aa05cb95fe5b1697a7d8fd8d2daccae">XAsu_TrngGetRandomNum()</a>, and <a class="el" href="group__xasu__trng__client__apis.html#ga6c70aad0ac1c1d37e0d5cc8f7b1581fd">XAsu_TrngKat()</a>.</p>

</div>
</div>
<a class="anchor" id="gae0f7072bf1eddf7ee11f1e5852570682"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XAsu_ValidateClientParameters </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="struct_x_asu___client_params.html">XAsu_ClientParams</a> *&#160;</td>
          <td class="paramname"><em>ClientParamPtr</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>This function validates the input client parameters. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">ClientParamPtr</td><td>Pointer to the <a class="el" href="struct_x_asu___client_params.html" title="This structure contains client parameters information. ">XAsu_ClientParams</a> instance.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS, if client parameters validation is successful.</li>
<li>XASU_INVALID_ARGUMENT, if the input parameters are invalid.</li>
</ul>
</dd></dl>
<ul>
<li>XASU_INVALID_CLIENT_PARAM, if ClientParamPtr is NULL.</li>
<li>XASU_INVALID_CALL_BACK_REF, if CallBackFuncPtr is NULL.</li>
<li>XASU_INVALID_PRIORITY, if invalid priority is selected. </li>
</ul>
<p>Validate that the callback function pointer is not NULL.</p>
<p>Validate the priority. </p>

<p>References <a class="el" href="group__xasu__client__info.html#gga06fc87d81c62e9abb8790b6e5713c55ba75f1ff4f934092149c9cba455d697e6e">XASU_INVALID_CLIENT_PARAM</a>.</p>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#gaffce56f51b41ed88e0b427545109e858">XAsu_AesKat()</a>, <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga48e7b1ccb5585cef9da33497b4ddecd4">XAsu_EccGenPubKey()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#gaaabcb4485412f47df39713bd5df6a544">XAsu_EccGenSign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga2ec91a268acc9fe5751df06df1bcfc48">XAsu_EccKat()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga4b8e73d2c2143da5c419680e6a1d6c59">XAsu_EccVerifySign()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga479b14161470bf8787e6f265bb4d23d8">XAsu_EcdhGenSharedSecret()</a>, <a class="el" href="group__xasu__ecc__client__apis.html#ga856dd75948e7f1643841339257eade80">XAsu_EcdhKat()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga689f879d22a42d9da5fe3148cd307883">XAsu_EciesDecrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#gafa9ae6edbd3dba6873779ab7bdc055b4">XAsu_EciesEncrypt()</a>, <a class="el" href="group__xasu__ecies__client__apis.html#ga632493276648e0bc48790642d1c29225">XAsu_EciesKat()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga3338c25e5bbadd96a6665ee2ccc8818b">XAsu_HmacKat()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga7a4b83725ed01255a8d9e31595a610b2">XAsu_KdfGenerate()</a>, <a class="el" href="group__xasu__kdf__client__apis.html#ga3361507e3fd3db0fd6bdf820c3cafb3a">XAsu_KdfKat()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#ga5182a3df4600b1e0c78db02eab118fe7">XAsu_KeyUnwrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gad64883d138efba842bfc4961b3c8ee0f">XAsu_KeyWrap()</a>, <a class="el" href="group__xasu__keywrap__client__apis.html#gaec0ce35e1cab18b618bb1a6a11ebd2da">XAsu_KeyWrapKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa738d6a05293f677e9fdd1fd137cc912">XAsu_RsaCrtDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga8d99c3659893b5b77683b6bc3ee3abf8">XAsu_RsaDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaa85dcefff8e7e30465bf6a5e5d20e7fd">XAsu_RsaEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga12f65d36404feb30ce5b7f801e51eb81">XAsu_RsaKat()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaf459c9f8ebb4d33247bbd8b6ab591809">XAsu_RsaOaepDec()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga32fd59ce2f1c0da67ca9217a224a4626">XAsu_RsaOaepEnc()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#gaceff65cb28ac22b56121a047dbb53aa9">XAsu_RsaPssSignGen()</a>, <a class="el" href="group__xasu__rsa__client__apis.html#ga3a33eba68b96c49e0dcb8ca6abfd7b89">XAsu_RsaPssSignVer()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#gac04a5bd2b44b2126b5bd0ba0eb5d647b">XAsu_Sha2Kat()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga6bee0e4d744e4febdfbb84efd76ae207">XAsu_Sha3Kat()</a>, <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>, <a class="el" href="group__xasu__trng__client__apis.html#ga0aa05cb95fe5b1697a7d8fd8d2daccae">XAsu_TrngGetRandomNum()</a>, and <a class="el" href="group__xasu__trng__client__apis.html#ga6c70aad0ac1c1d37e0d5cc8f7b1581fd">XAsu_TrngKat()</a>.</p>

</div>
</div>
<a class="anchor" id="ga61795a5278b8baf8896d7a81e03c9f6a"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">s32 XAsu_VerifyNGetUniqueIdCtx </td>
          <td>(</td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>Context</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">u8 *&#160;</td>
          <td class="paramname"><em>UniqueId</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Validates the provided context by comparing it with stored contexts to determine the appropriate multi-update calls. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">Context</td><td>Pointer to the XAsu_ClientCtx reference context. </td></tr>
    <tr><td class="paramname">UniqueId</td><td>Pointer to the buffer where the corresponding Unique ID will be stored.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd><ul>
<li>XST_SUCCESS if validation is successful.</li>
<li>XASU_INVALID_CLIENT_CTX if the provided context is not found. </li>
</ul>
</dd></dl>

<p>Referenced by <a class="el" href="group__xasu__aes__client__apis.html#ga48dae63bdd6476ad22853140b0b23e9a">XAsu_AesOperation()</a>, <a class="el" href="group__xasu__hmac__client__apis.html#ga4a51b82f829ed68f456efc5d0fb30a8c">XAsu_HmacCompute()</a>, <a class="el" href="group__xasu__sha2__client__apis.html#ga3495a73519c85badf4c6c2fa83216d7f">XAsu_Sha2Operation()</a>, and <a class="el" href="group__xasu__sha3__client__apis.html#ga522f701ac29ec343d5ad2d90ebac4a2a">XAsu_Sha3Operation()</a>.</p>

</div>
</div>
</div><!-- contents -->
</div><!-- doc-content -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
	<p class="footer">&copy; Copyright 2015-2022 Xilinx, Inc. All Rights Reserved.</p>
	<p class="footer">&copy; Copyright 2022-2023 Advanced Micro Devices, Inc. All Rights Reserved.</p>
</div>
</body>
</html>
